home *** CD-ROM | disk | FTP | other *** search
/ Hardcore Visual Basic 5.0 (2nd Edition) / Hardcore Visual Basic 5.0 - Second Edition (1997)(Microsoft Press).iso / Code / Goodies / ICONWO~1 / ICONWRKS.GBL < prev    next >
Text File  |  1997-06-09  |  14KB  |  405 lines

  1. Attribute VB_Name = "Global"
  2. '-----------------------------------------------------------------------
  3. '               Copyright (C) 1991 Microsoft Corporation
  4. '
  5. ' You have a royalty-free right to use, modify, reproduce and distribute
  6. ' the Sample Application Files (and/or any modified version) in any way
  7. ' you find useful, provided that you agree that Microsoft has no warranty,
  8. ' obligations or liability for any Sample Application Files.
  9. '
  10. ' -----------------------------------------------------------------------
  11. DefLng H
  12. '
  13. ' Type use by the API routine InvertRect()
  14. '
  15. Type RECT
  16.     Left As Long
  17.     Top As Long
  18.     Right As Long
  19.     bottom As Long
  20. End Type
  21. Type POINTAPI
  22.     X As Long
  23.     Y As Long
  24. End Type
  25. Type ICONINFO
  26.     fIcon As Long
  27.     xHotspot As Long
  28.     yHotspot As Long
  29.     hBMMask As Long
  30.     hBMColor As Long
  31. End Type
  32. Type GUID
  33.     Data1 As Long
  34.     Data2 As Integer
  35.     Data3 As Integer
  36.     Data4(7) As Byte
  37. End Type
  38. Type PICTDESC
  39.     cbSizeofstruct As Long
  40.     picType As Long
  41.     Long1 As Long
  42.     Long2 As Long
  43.     Long3 As Long
  44. End Type
  45. Global Const PICTYPE_BITMAP = 1
  46. Global Const PICTYPE_ICON = 3
  47. Type LOGBRUSH
  48.     lbStyle As Long
  49.     lbColor As Long
  50.     lbHatch As Long
  51. End Type
  52.  
  53. Declare Function CreateIconIndirect Lib "User32" (icoinfo As ICONINFO) As Long
  54. Declare Function CreateBrushIndirect Lib "gdi32" (lpLogBrush As LOGBRUSH) As Long
  55. Declare Function ExtFloodFill Lib "gdi32" (ByVal hDC As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long, ByVal fuFillType As Long) As Long
  56. Declare Function DestroyIcon Lib "User32" (ByVal hIcon As Long) As Long
  57. Declare Function OleCreatePictureIndirect Lib "olepro32.dll" (lpPictDesc As PICTDESC, riid As GUID, ByVal fOwn As Long, IPic As IPicture) As Long
  58. Declare Sub CopyMemory Lib "Kernel32" Alias "RtlMoveMemory" (pDest As Any, pSource As Any, ByVal ByteLen As Long)
  59. Declare Function GSM Lib "User32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long
  60. Declare Function GetDeviceCaps Lib "gdi32" (ByVal hDC As Long, ByVal nIndex As Long) As Long
  61. Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hDC As Long) As Long
  62. Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
  63. Declare Function SelectObject Lib "gdi32" (ByVal hDC As Long, ByVal hObject As Long) As Long
  64. Declare Function DeleteDC Lib "gdi32" (ByVal hDC As Long) As Long
  65. Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
  66. Declare Function GetStockObject Lib "gdi32" (ByVal nIndex As Long) As Long
  67. Declare Function Polygon Lib "gdi32" (ByVal hDC As Long, lpPoints As POINTAPI, ByVal nCount As Long) As Long
  68. Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hDC As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
  69. Declare Function GetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount As Long, ByVal lpBits As Any) As Long
  70. Declare Function GlobalLock Lib "Kernel32" (ByVal hMem As Long) As Long
  71. Declare Function GlobalUnlock Lib "Kernel32" (ByVal hMem As Long) As Long
  72. Declare Function GetIconInfo Lib "User32" (ByVal hIcon As Long, icoinfo As ICONINFO) As Long
  73. Declare Function GetNearestColor Lib "gdi32" (ByVal hDC, ByVal RGBColor As Long) As Long
  74. Declare Function GetPrivateProfileInt Lib "Kernel32" Alias "GetPrivateProfileIntA" (ByVal Appname As String, ByVal KeyName As String, ByVal DEFAULT As Long, ByVal FileName As String) As Long
  75. Declare Function GetPrivateProfileString Lib "Kernel32" Alias "GetPrivateProfileStringA" (ByVal Appname As String, ByVal KeyName As String, ByVal DEFAULT As String, ByVal ReturnedString As String, ByVal MaxSize As Long, ByVal FileName As String) As Long
  76. Declare Function WritePrivateProfileString Lib "Kernel32" Alias "WritePrivateProfileStringW" (ByVal Appname As String, ByVal KeyName As String, ByVal NewString As String, ByVal FileName As String) As Long
  77. Declare Function StretchBlt Lib "gdi32" (ByVal hDCDest, ByVal X As Long, ByVal Y As Long, ByVal Width As Long, ByVal Height As Long, ByVal hDCSrc, ByVal srcX As Long, ByVal srcY As Long, ByVal srcWidth As Long, ByVal srcHeight As Long, ByVal Rop As Long) As Long
  78. Declare Function WinHelp Lib "User32" Alias "WinHelpA" (ByVal hWnd, ByVal HelpFile As String, ByVal wCommand As Long, ByVal dwData As Long) As Long
  79. Declare Function InvertRect Lib "User32" (ByVal hDC, lpRect As RECT) As Long
  80.  
  81. Declare Function GetMenu Lib "User32" (ByVal hWnd) As Long
  82. Declare Function GetSubMenu Lib "User32" (ByVal hWnd, ByVal Position As Long) As Long
  83. Declare Function GetSystemMenu Lib "User32" (ByVal hWnd, ByVal bRevert As Long) As Long
  84. Declare Function RemoveMenu Lib "User32" (ByVal hMenu, ByVal nPosition As Long, ByVal wFlags As Long) As Long
  85. Declare Function TrackPopupMenu Lib "User32" (ByVal hMenu, ByVal r1 As Long, ByVal X As Long, ByVal Y As Long, ByVal r2 As Long, ByVal hWnd As Long, ByVal r3 As Long) As Long
  86.  
  87. Global Const BLACK_BRUSH = 4
  88. Global Const NOTSRCERASE = &H1100A6     ' (DWORD) dest = (NOT src) AND (NOT dest)
  89. Global Const WHITENESS = &HFF0062       ' (DWORD) dest = WHITE
  90. Global Const FLOODFILLSURFACE = 1
  91. Global Const SRCAND = &H8800C6  ' (DWORD) dest = source AND dest
  92. Global Const SRCINVERT = &H660046       ' (DWORD) dest = source XOR dest
  93. Global Const SRCCOPY = &HCC0020 ' (DWORD) dest = source
  94. Global Const BLACKNESS = &H4262       ' (DWORD) dest = BLACK
  95. Global Const BITSPIXEL = 12 '  Number of bits per pixel
  96. Global Const PLANES = 14    '  Number of planes
  97. Global Const SM_CXICON = 11
  98. Global Const SM_CYICON = 12
  99. Global Const BS_SOLID = 0
  100. Global Const MF_BYPOSITION = &H400
  101. Global Const HELP_CONTEXT = &H1
  102. Global Const HELP_QUIT = &H2
  103. Global Const HELP_HELPONHELP = &H4
  104.  
  105. Global IID_IDispatch As GUID
  106.  
  107. '
  108. ' Type use by IconWorks to keep track of the 6 Icons that be edited at once.
  109. '
  110. Type ICONRECORD
  111.     FileName As String
  112.     FullPath As String
  113.     Changed As Integer
  114. End Type
  115. '
  116. ' INI file KeyNames
  117. '
  118. Global Const APP_NAME = "IconWorks"
  119. Global Const KEY_COLOR = "Colors Row"
  120. Global Const KEY_GRID = "Grid"
  121. Global Const KEY_LINE_GRID = "Line Grid"
  122. Global Const KEY_DOTTED_GRID = "Dotted Grid"
  123. Global Const KEY_STATUS_BAR = "Status Bar"
  124. Global Const KEY_TOOL_PALETTE = "Tool Palette"
  125. Global Const KEY_COLOR_PALETTE = "Color Palette"
  126. Global Const KEY_ZOOM_SCROLLBAR = "Zoom Scrollbar"
  127. Global Const KEY_FOCUS = "Editor Focus"
  128. Global Const KEY_BORDER = "Icon Border"
  129. Global Const KEY_POPUP = "Popup Menu"
  130. Global Const KEY_SHOW_ICONS = "Show Icons"
  131. Global Const KEY_DEFAULT = "Default Colors"
  132. Global Const KEY_SOLID = "Solid Colors"
  133. Global Const KEY_INI = "INI File Colors"
  134. Global Const INI_FILENAME = "IconWrks.INI"
  135. '
  136. ' Default Color palette values
  137. '
  138. Global Const DEFAULT_COLORS_ROW1 = "16777215 14737632 12632319 12640511 14745599 12648384 16777152 16761024 16761087 00000192 00016576 00049344 00049152 12632064 12582912 12583104"
  139. Global Const DEFAULT_COLORS_ROW2 = "12632256 04210752 08421631 08438015 08454143 08454016 16777088 16744576 16744703 00000128 00016512 00032896 00032768 08421376 08388608 08388736"
  140. Global Const DEFAULT_COLORS_ROW3 = "08421504 00000000 00000255 00033023 00065535 00065280 16776960 16711680 16711935 00000064 04210816 00016448 00016384 04210688 04194304 04194368"
  141. '
  142. ' Default value for ICONRECORD Filename field
  143. '
  144. Global Const UNTITLED = "[Untitled]"
  145. '
  146. ' Editor's File Menu ID's
  147. '
  148. Global Const MID_NEW = 0
  149. Global Const MID_OPEN = 1
  150. Global Const MID_SAVE = 2
  151. Global Const MID_SAVE_AS = 3
  152. Global Const MID_EXIT = 5
  153. '
  154. ' Editor's Edit Menu ID's
  155. '
  156. Global Const MID_UNDO = 0
  157. Global Const MID_CUT = 2
  158. Global Const MID_COPY = 3
  159. Global Const MID_PASTE = 4
  160. Global Const MID_PASTE_OPAQUE = 5
  161. Global Const MID_DELETE = 6
  162. Global Const MID_SELECT_ALL = 7
  163. Global Const MID_FLIP_HORIZONTAL = 9
  164. Global Const MID_FLIP_VERTICAL = 10
  165. Global Const MID_ROTATE_RIGHT = 12
  166. Global Const MID_ROTATE_LEFT = 13
  167. Global Const MID_INVERT = 15
  168. '
  169. ' Editor's View Menu ID's
  170. '
  171. Global Const MID_STATUS_BAR = 0
  172. Global Const MID_TOOL_PALETTE = 1
  173. Global Const MID_COLOR_PALETTE = 2
  174. Global Const MID_ZOOM_SCROLLBAR = 3
  175. Global Const MID_SHOW_ALL = 4
  176. Global Const MID_GRID = 6
  177. Global Const MID_LINE_GRID = 7
  178. Global Const MID_DOTTED_GRID = 8
  179. Global Const MID_ZOOM_IN = 10
  180. Global Const MID_ZOOM_OUT = 11
  181. Global Const MID_FOCUS = 13
  182. Global Const MID_BORDER = 14
  183. Global Const MID_POPUP_MENU = 15
  184.  
  185. ' Editor's Color Menu ID's
  186. '
  187. Global Const MID_COLORS = 0
  188. Global Const MID_DEFAULT_COLORS = 1
  189. Global Const MID_SOLID_COLORS = 2
  190. Global Const MID_INI_COLORS = 3
  191. Global Const MID_SAVE_COLORS = 5
  192. Global Const MID_LEFT_RIGHT = 7
  193. Global Const MID_SCREEN_INVERSE = 8
  194. '
  195. ' Viewer's Options Menu ID's
  196. '
  197. Global Const MID_EDITOR = 0
  198. Global Const MID_SHOW_ALL_ICONS = 1
  199. Global Const MID_SHOW_ON_DIR_CHANGE = 3
  200. '
  201. ' Help Menu ID's
  202. '
  203. Global Const MID_INDEX = 1
  204. Global Const MID_KEYBOARD = 2
  205. Global Const MID_COMMANDS = 3
  206. Global Const MID_USING_HELP = 4
  207. Global Const MID_ABOUT = 6
  208. '
  209. ' Index values for Editor.Opt_ColorMouse()
  210. '
  211. Global Const MOUSE_COLORS = 0
  212. Global Const SCREEN_COLORS = 1
  213. '
  214. ' Adjustment Values for Editor's Sub Adjust_X_And_Y()
  215. '
  216. Global Const TO_CENTER = 0
  217. Global Const TO_EDGE = 1
  218. '
  219. ' Editor's ToolPalette ID's
  220. '
  221. Global Const TID_SELECT = 0
  222. Global Const TID_PAINT = 1
  223. Global Const TID_FILL = 2
  224. Global Const TID_LINE = 3
  225. Global Const TID_SQUARE = 4
  226. Global Const TID_FILLED_SQUARE = 5
  227. Global Const TID_CIRCLE = 6
  228. Global Const TID_FILLED_CIRCLE = 7
  229. '
  230. ' Viewer and SaveFileDlg File Control values
  231. '
  232. Global Const FILE_NOT_FOUND = 53
  233. Global Const FILENAME_CHANGED = 0
  234. Global Const FILE_CHANGED = 1
  235. Global Const DIR_CHANGED = 2
  236. '
  237. ' Viewer's viewing window Cell size - 32x32 pixels + 1
  238. '
  239. Global Const ICON_CELL = 34&
  240. '
  241. ' Index's into the ColorPalettes' Scrl_RGB()
  242. '
  243. Global Const RED_ELEMENT = 0
  244. Global Const GREEN_ELEMENT = 1
  245. Global Const BLUE_ELEMENT = 2
  246. '
  247. ' Miscellaneous
  248. '
  249. Global Const EGA_HEIGHT = 7000
  250. Global Const HIGHLIGHT = 10
  251. Global Const HID_DEFINING_COLORS = 1000
  252. Global Const ICONWORKS_EDITOR = 0
  253. Global Const ICONWORKS_VIEWER = 1
  254. '
  255. ' Editor's Information Array and Color palette array
  256. '
  257. Global ICONINFO(5)  As ICONRECORD
  258. Global Colors(47)   As Long
  259. Global MouseColors(3) As Long
  260. '
  261. ' Editor Global Variables
  262. '
  263. Global ToolInProcess    As Integer
  264. Global MovingSelection  As Integer
  265. Global Selecting        As Integer
  266. Global Moveable         As Integer
  267. Global Opaque           As Integer
  268. Global CurrentTool      As Integer
  269. Global CurrentIcon      As Integer
  270. Global BrushSize        As Integer
  271. Global PixelSize        As Integer
  272. Global X1Region         As Integer
  273. Global Y1Region         As Integer
  274. Global X2Region         As Integer
  275. Global Y2Region         As Integer
  276. Global XMoveSelection   As Integer
  277. Global YMoveSelection   As Integer
  278. Global X1SelectFrom     As Integer
  279. Global Y1SelectFrom     As Integer
  280. Global X2SelectFrom     As Integer
  281. Global Y2SelectFrom     As Integer
  282. Global LastX1           As Integer
  283. Global LastY1           As Integer
  284. Global LastX2           As Integer
  285. Global LastY2           As Integer
  286. Global LastXpix         As Integer
  287. Global LastYpix         As Integer
  288. Global DoubleClicked    As Integer
  289. Global ColorIndex       As Integer
  290. Global hDCMono
  291. Global hBMMono
  292. Global hBMOldMono
  293. Global ImageSize        As Integer
  294. Global XCenter          As Single
  295. Global YCenter          As Single
  296. Global Aspect           As Single
  297. Global Radius           As Single
  298. Global ColorString      As String
  299. '
  300. ' Viewer Global Variables
  301. '
  302. Global MaxIcons         As Integer
  303. Global IconRows         As Integer
  304. Global IconColumns      As Integer
  305. Global MinViewerWidth   As Integer
  306. Global MinViewerHeight  As Integer
  307. Global ShowingAllIcons  As Integer
  308. '
  309. ' Miscelaneous
  310. '
  311. Global MainForm           As Integer
  312. Global EditorLoaded       As Integer
  313. Global ViewerLoaded       As Integer
  314. Global ColorPaletteLoaded As Integer
  315. Global EditorInitialized  As Integer
  316. Global VLastChanged       As Integer
  317. Global SLastChanged       As Integer
  318. Global NumColorsIs256     As Integer
  319. Global Text               As String
  320. Global CRLF               As String * 2
  321. Global A_TAB              As String * 1
  322.  
  323.  
  324. ' CONSTANTS TAKEN FROM VB'S CONTANT.TXT FILE
  325. '
  326.  
  327. ' WindowState
  328. Global Const MINIMIZED = 1
  329.  
  330. ' Clipboard formats
  331. Global Const CF_BITMAP = 2
  332.  
  333. ' DragOver
  334. Global Const OVER = 2
  335.  
  336. ' Show parameters
  337. Global Const MODAL = 1
  338. Global Const MODELESS = 0
  339.  
  340. ' Colors
  341. Global Const BLACK = &H0&
  342. Global Const DARKBLUE = &H800000
  343. Global Const DARKGREEN = &H8000&
  344. Global Const DARKCYAN = &H808000
  345. Global Const DARKRED = &H80&
  346. Global Const DARKPURPLE = &H800080
  347. Global Const DARKYELLOW = &H8080&
  348. Global Const DARKGRAY = &H808080
  349. Global Const GRAY = &HC0C0C0
  350. Global Const BLUE = &HFF0000
  351. Global Const GREEN = &HFF00&
  352. Global Const CYAN = &HFFFF00
  353. Global Const RED = &HFF&
  354. Global Const PURPLE = &HFF00FF
  355. Global Const YELLOW = &HFFFF&
  356. Global Const WHITE = &HFFFFFF
  357.  
  358. ' System Colors
  359. Global Const WINDOW_BACKGROUND = &H80000005
  360. Global Const WINDOW_TEXT = &H80000008
  361.  
  362. ' MousePointer
  363. Global Const DEFAULT = 0
  364. Global Const CROSSHAIR = 2
  365. Global Const SIZE = 5
  366. Global Const UP_ARROW = 10
  367. Global Const HOURGLASS = 11
  368.  
  369. ' DrawMode Values
  370. Global Const INVERSE = 6
  371. Global Const COPY_PEN = 13
  372.  
  373. ' DrawStyle property Values
  374. Global Const SOLID = 0
  375. Global Const DOT = 2
  376.  
  377. ' FillStyle Values
  378. Global Const TRANSPARENT = 1
  379.  
  380. ' Key Codes
  381. Global Const KEY_BACK = &H8
  382. Global Const KEY_SHIFT = &H10
  383. Global Const KEY_CONTROL = &H11
  384. Global Const KEY_INSERT = &H2D
  385. Global Const KEY_DELETE = &H2E
  386. Global Const KEY_F1 = &H70
  387.  
  388. ' Shift parameter masks
  389. Global Const SHIFT_MASK = 1
  390. Global Const CTRL_MASK = 2
  391. Global Const ALT_MASK = 4
  392.  
  393. ' Button parameter masks
  394. Global Const LEFT_BUTTON = 1
  395. Global Const RIGHT_BUTTON = 2
  396.  
  397. ' ScaleModes
  398. Global Const TWIPS = 1
  399. Global Const PIXELS = 3
  400.  
  401. ' MsgBox return values
  402. Global Const MBYES = 6
  403. Global Const MBNO = 7
  404.  
  405.